home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-03-23 | 3.5 KB | 88 lines | [TEXT/ttxt] |
-
- This is an idea of mine for improving the Macintosh user
- interface.With the current MultiFinder, switching applications
- is easy to do by accident and doesn’t always cause a noticeable
- change in the screen display. I suggest that the application
- menu bar ought to "slide off" the screen whenever it is
- suspended, and have written an INIT that does this.
-
- BACKGROUND
-
- The inspiration came from running introduction to Macintosh
- courses here at the university. I noticed a lot of students
- had trouble with application switching. They would click on
- the wrong window and not notice the change of application,
- or select the wrong application menu choice and end up in an
- application with no windows open. The visual cues, a tiny icon
- changing in the top right corner and a window activation, are a
- bit too subtle for new users - especially if the application
- doesn't have any windows to activate.
-
- Afterwards I thought about it occasionally until one day I
- remembered Andy Hertzfelds Switcher. (For you youngsters out
- there, this was the predecessor to MultiFinder. Each
- application took over the whole screen. When you switched, all
- the windows, palettes, and whatnot scrolled off one edge and
- the new application came in from the other like a HyperCard
- effect.) Even though we now expect applications to share the
- screen real estate, the menu bar is still exclusive so why not
- scroll it to show the change?
-
- Hence this INIT. When installed, the menubar slides across the
- screen everytime you switch from the Finder to an application,
- or from one application to another. The process adds a very
- slight delay to the switch, less than ten ticks. It leaves the
- help and application menus where they are, since it is meant
- to convey that the application environment is changing, not
- the whole system.
-
- If you want a demonstration without installing and rebooting,
- run the MenuBarSlide Demo application. It slides its own menu
- bar when suspended.
-
- HOW IT WORKS
-
- The INIT puts a patch on DrawMenuBar that looks for a change to
- the low memory global MenuList, and slides the old menu bar off
- before drawing the new.
-
- Intercepting suspend events sent to applications would have been
- the easiest and cleanest solution, but unfortunately it just
- doesn't work. GNEFilter procs don't get called for OS events.
-
- Known problems:
-
- * It can't detect a switch from an application to the Finder
- so the menu bar doesn't slide when you do so.I spent a lot of
- time trying to figure out how to detect that, but never found
- a reliable solution. Any ideas?
-
- * HyperCard does its own menu bar drawing, so the menu bar
- doesn't slide.
-
- The source code is also freely distributable. The INIT is
- written in MPW Assembler, the demo app in THINK Pascal 4.
- Mail me if you would like a copy.
-
- CREDITS
-
- Thanks to Matthew Axsom (chewey@nesw.MV.COM) for code to find
- out where the right edge of the application menus really is,
- Brian Stern (Jaeger@fquest.com) for the INIT Writing FAQ, and
- the many people who took the trouble to try out the original
- demo and encouraged me to develop it further.
-
-
- Hugh Fisher
- Australian National University
-
- Email: Hugh.Fisher@anu.edu.au
-
-
- Copyright (c) Hugh Fisher 1995. Permission granted to freely
- distribute as you wish. This code is guaranteed to be of
- standard commercial quality: I'll try to fix any problems you
- find, but it's not MY fault even if your computer explodes.
-
-
-